#ifndef BEHAVIOR_H
#define BEHAVIOR_H

#include <boost/shared_ptr.hpp>
#include <string>


class Behavior
{
public:
    typedef boost::shared_ptr< Behavior > shared_ptr;
    /** called once when the initially connected to the server */
    virtual std::string init() = 0;

    /** called for every message received from the server; should
        return an action string
     */
    virtual std::string think(const std::string& message) = 0;
};

#endif // BEHAVIOR_H
